iT邦幫忙

2024 iThome 鐵人賽

DAY 13
0
Software Development

Unity使用教學系列 第 13

Firebase Cloud Messaging (FCM) 的進階推送通知策略

  • 分享至 

  • xImage
  •  

前言
Firebase Cloud Messaging(FCM)是一個強大的工具,能夠讓開發者向使用者設備發送推送通知。隨著應用的發展,單純的廣泛推送通知已經不足以滿足個性化和精確性的需求。為了提升通知的有效性,我們需要深入了解如何根據用戶行為進行分眾推送,並結合 Firebase 的其他服務來自動發送個性化消息,以提高推送通知的點擊率與轉換率。

1. 根據用戶行為劃分受眾並進行針對性推送
在應用中,了解用戶的行為並根據其習慣進行推送通知是一個提高用戶參與度的有效策略。透過 Firebase Analytics,我們可以追蹤用戶的行為數據,並依此劃分不同的受眾群體,以進行更精準的推送。

1.1 使用 Firebase Analytics 劃分受眾
Firebase Analytics 提供了強大的受眾分群功能,讓我們能根據用戶的行為、屬性以及應用內操作,劃分出不同的用戶群體。這樣我們可以針對不同的受眾,發送定制化的推送通知,進一步提升用戶互動。

例:劃分高頻用戶與低頻用戶

假設我們的應用有一部分用戶每天都會使用,而另一部分用戶則很少活躍。通過 Firebase Analytics,我們可以劃分出「高頻用戶」和「低頻用戶」兩個受眾,並根據他們的使用頻率發送不同的通知。

firebase.analytics().logEvent('high_frequency_user', {
  user_id: userId,
  usage_frequency: 'daily'
});

firebase.analytics().logEvent('low_frequency_user', {
  user_id: userId,
  usage_frequency: 'weekly'
});

這樣,當我們發送推送通知時,可以針對不同的群體發送不同的內容。例如,對於高頻用戶,可以推薦新的功能或服務,而對於低頻用戶,可以發送提醒通知或優惠券來鼓勵他們重新參與應用。

1.2 根據使用情況發送個性化通知
除了基於行為劃分受眾,我們還可以利用 Firebase 提供的「User Properties」來進一步定制推送通知。例如,如果我們的應用提供不同的產品或服務,我們可以根據用戶偏好向他們推送個性化消息。

例:針對特定產品偏好進行推送

firebase.analytics().setUserProperties({
  favorite_product: 'ProductA'
});

這樣,我們可以針對那些對「ProductA」感興趣的用戶,發送有關該產品的促銷通知,從而提高轉換率。

2. 使用 Cloud Functions 自動發送通知
在某些情境下,根據特定條件自動發送通知能夠更有效地吸引用戶注意。例如,當用戶完成某個特定任務或活動時,可以自動觸發推送通知,讓用戶感受到即時的互動回饋。

2.1 使用 Cloud Functions 建立自動化推送
Firebase Cloud Functions 是一個強大的工具,能夠根據應用內的事件觸發自動化邏輯,並發送推送通知。我們可以通過監聽 Firebase Realtime Database 或 Firestore 中的變化,來自動發送針對性通知。

例:監聽數據庫變更並發送通知
以下代碼展示了如何使用 Cloud Functions 監聽 Firestore 中的用戶資料變化,並在條件滿足時發送推送通知。

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();

exports.sendUserNotification = functions.firestore
  .document('users/{userId}')
  .onUpdate((change, context) => {
    const newValue = change.after.data();
    
    // 檢查某個字段的變化
    if (newValue.status === 'active') {
      const payload = {
        notification: {
          title: 'Welcome Back!',
          body: 'We noticed you are active again, check out the new features!'
        }
      };

      // 發送推送通知
      return admin.messaging().sendToTopic('activeUsers', payload);
    }

    return null;
  });

在這個例子中,當用戶的狀態變為「active」時,我們會自動觸發推送通知,提醒他們應用的新功能或促銷活動。這樣的自動化通知能夠及時響應用戶行為,提升應用的互動性。

2.2 多平台通知
Firebase Cloud Messaging 支持跨平台推送,無論是 Android、iOS 還是網頁端,我們都可以使用相同的 Cloud Functions 來處理並發送推送通知。通過簡單的設置,我們可以確保應用在不同設備上都有一致的推送體驗。

例:發送多平台推送

const payload = {
  notification: {
    title: 'Hello Web and Mobile!',
    body: 'This message is for all users across platforms.'
  },
  webpush: {
    headers: {
      Urgency: 'high'
    }
  }
};

// 發送到所有平台
admin.messaging().sendToTopic('allUsers', payload);

這樣的實作能夠確保推送通知可以覆蓋所有使用平台,提升用戶的互動體驗。

3. 分析推送通知的點擊率與轉換率
在推送通知策略中,僅發送通知是不太夠的,分析這些通知的效果是持續優化的關鍵。我們可以通過 Firebase Analytics 來跟蹤推送通知的點擊率與轉換率,並根據這些數據進行優化。

3.1 跟蹤推送通知的點擊事件
Firebase Analytics 允許我們記錄推送通知的點擊事件,這樣我們就可以分析哪類通知最能吸引用戶點擊。

例:跟蹤點擊事件

firebase.analytics().logEvent('notification_open', {
  notification_type: 'promo'
});

這樣,我們就可以在 Firebase 控制台中查看各類通知的點擊數據,並據此調整推送策略。例如,如果促銷通知的點擊率較低,可以考慮調整通知的文案或推送時間。

3.2 計算轉換率
除了點擊率,我們還需要關注通知的轉換效果。例如,如果通知的目的是引導用戶完成購買,我們可以追蹤從通知點擊到購買完成的整個流程,並計算轉換率。

例:計算轉換率

firebase.analytics().logEvent('purchase', {
  value: 100,
  currency: 'USD'
});

通過這樣的追蹤,我們可以瞭解哪些推送通知最能促進購買行為,並根據數據進行推送內容的優化。

結語
Firebase Cloud Messaging 提供了靈活且強大的推送通知功能,通過進階的分眾推送、個性化消息以及 Cloud Functions 的自動化推送,我們可以大幅提升推送通知的精確性和互動性。如果有任何問題,歡迎留言討論!


上一篇
如何使用 Firebase Hosting 與 Cloud Functions 搭建 Serverless Web 應用
下一篇
Firebase Performance Monitoring:如何優化應用性能
系列文
Unity使用教學15
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言